from math import *
from PublicReference.base import *


# 武器巨剑
class 职业主动技能(主动技能):

    data0 = []
    data1 = []
    data2 = []
    data3 = []

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        if len(self.data0) >= self.等级 and len(self.data0) > 0:
            等效倍率 += self.data0[self.等级] * self.攻击次数
        if len(self.data1) >= self.等级 and len(self.data1) > 0:
            等效倍率 += self.data1[self.等级] * self.攻击次数2
        if len(self.data2) >= self.等级 and len(self.data2) > 0:
            等效倍率 += self.data2[self.等级] * self.攻击次数3
        if len(self.data3) >= self.等级 and len(self.data3) > 0:
            等效倍率 += self.data3[self.等级] * self.攻击次数4
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率

    # def 等效CD(self, 武器类型):
        # if 武器类型 == '巨剑':
        # return round(self.CD / self.恢复 * 1.1, 1)

# 骑士信念


class 技能0(被动技能):
    名称 = '骑士信念'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10
    冷却关联技能 = ['所有']
    非冷却关联技能 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天']

    def CD缩减倍率(self, 武器类型):
        return 0.9

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.02 * self.等级, 5)

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.02 * self.等级, 5)

# 一觉被动 由于一觉二觉主动不受剑盾猛攻连锁BUFF加成，所以这里有个额外的加成，这个一绝被动加成吃两次
# 例如：一绝被动=1.42，二觉受到的加成为1.42*1.42


class 技能1(被动技能):
    名称 = '自然恩泽'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20
    关联技能 = ['所有']
    关联技能2 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.00+0.02 * self.等级, 5)

    def 加成倍率2(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.00+0.02 * self.等级, 5)

# 二觉被动


class 技能2(被动技能):
    名称 = '信仰鼓舞'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)

# 剑盾猛攻 一级默认13%，但测试实际为12.5%，游戏内显示每2级提高1%，但测试伤害实际为每级0.5%
# 剑盾猛攻本身不受剑盾猛攻连锁BUFF加成，一二觉也不受加成，剑盾强袭加成=（剑盾猛攻加成+5%）*连锁层数


class 技能3(职业主动技能):
    名称 = '剑盾猛攻'
    所在等级 = 30
    等级上限 = 16
    基础等级 = 6
    # 挥盾物理攻击力：<data0>%
    data0 = [(i*1.2378) for i in [0, 1180, 1453, 1727, 2000, 2274, 2548, 2821, 3095,
                               3369, 3642, 3916, 4190, 4463, 4737, 5010, 5284, 5558, 5831, 6105, 6379]]
    # 推进物理攻击力：<data1>%
    # data1 = [0, 1266, 1560, 1854, 2147, 2441, 2735, 3029, 3322, 3616, 3910, 4204, 4497, 4791, 5085, 5378, 5672, 5966, 6260, 6553, 6847]
    CD = 0.5
    关联技能 = ['所有']
    非关联技能 = ['剑盾猛攻', '剑盾强袭', '天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天']
    关联技能2 = ['剑盾强袭']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.72 + 0.03 * self.等级, 5)

    def 加成倍率2(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.72 + 0.03 * self.等级+0.3, 5)

# 盾挑    技能太多了，这个就不写上去了，Z，吃基础精通
# class 技能7(职业主动技能):
#    名称 = '盾挑'
#    所在等级 = 1
#    等级上限 = 20
#    基础等级 = 10
#    基础 = 89
#    成长 = 11
#    CD = 2
#    TP成长 = 0.08
#    TP上限 = 5

# 强踢


class 技能4(职业主动技能):
    名称 = '强踢'
    所在等级 = 1
    等级上限 = 60
    基础等级 = 50
    data0 = [(i*1.0) for i in [0, 762, 839, 916, 994, 1071, 1148, 1226, 1303, 1380, 1458, 1535, 1612, 1690, 1767, 1844, 1922, 1999, 2076, 2154, 2231, 2308, 2386, 2463, 2540, 2617, 2695, 2772, 2849, 2927, 3004, 3081, 3159, 3236,
                               3313, 3391, 3468, 3545, 3623, 3700, 3777, 3855, 3932, 4009, 4087, 4164, 4241, 4319, 4396, 4473, 4551, 4628, 4705, 4783, 4860, 4937, 5015, 5092, 5169, 5247, 5324, 5401, 5478, 5556, 5633, 5710, 5788, 5865, 5942, 6020, 6097]]
    # 基础 = 684.7
    # 成长 = 77.3
    CD = 5

# 盾击


class 技能5(职业主动技能):
    名称 = '盾击'
    所在等级 = 5
    等级上限 = 60
    基础等级 = 50
    data0 = [(i*1.0) for i in [0, 327, 360, 393, 426, 459, 492, 526, 559, 592, 625, 658, 692, 725, 758, 791, 824, 857, 891, 924, 957, 990, 1023, 1057, 1090, 1123, 1156, 1189, 1222, 1256, 1289, 1322, 1355, 1388, 1421, 1455,
                               1488, 1521, 1554, 1587, 1621, 1654, 1687, 1720, 1753, 1786, 1820, 1853, 1886, 1919, 1952, 1986, 2019, 2052, 2085, 2118, 2151, 2185, 2218, 2251, 2284, 2317, 2351, 2384, 2417, 2450, 2483, 2516, 2550, 2583, 2616]]
    CD = 3

# 致命突刺


class 技能6(职业主动技能):
    名称 = '致命突刺'
    所在等级 = 10
    等级上限 = 60
    基础等级 = 48
    # 基础 = 163.1
    # 成长 = 22.9
    data0 = [(i*1.0) for i in [0, 186, 210, 234, 256, 278, 303, 325, 348, 370, 394, 417, 438, 462, 485, 509, 530, 554, 576, 600, 622, 644, 668, 691, 714, 737, 759, 782, 804, 828, 851, 875, 897, 919, 943, 965, 988,
                               1011, 1034, 1057, 1079, 1103, 1127, 1149, 1171, 1193, 1217, 1241, 1262, 1285, 1309, 1466, 1491, 1516, 1544, 1568, 1594, 1619, 1644, 1671, 1696, 1722, 1747, 1772, 1799, 1825, 1850, 1876, 1901, 1928, 1952]]
    # 最大蓄气时物理攻击力：<data1>%
    # data1 = [0, 234, 264, 292, 320, 348, 378, 406, 434, 463, 492, 520, 548, 576, 606, 636, 662, 693, 721, 750, 776, 805, 835, 864, 892, 921, 949, 978, 1006, 1035, 1064, 1093, 1121, 1149, 1178, 1207, 1234, 1264, 1294, 1321, 1349, 1377, 1408, 1436, 1463, 1493, 1522, 1550, 1577, 1605, 1636, 1833, 1864, 1896, 1928, 1960, 1992, 2023, 2056, 2089, 2120, 2153, 2184, 2217, 2248, 2281, 2312, 2345, 2379, 2409, 2440]
    CD = 3

# 愤怒冲撞


class 技能7(职业主动技能):
    名称 = '愤怒冲撞'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    # 基础 = 1895.9
    # 成长 = 214.1
    data0 = [(i*1.2839) for i in [0, 2396, 2639, 2883, 3125, 3368, 3612, 3856, 4098, 4341, 4585, 4827, 5071, 5314, 5557, 5800, 6044, 6287, 6530, 6773, 7017, 7259, 7503, 7746, 7990, 8232, 8475, 8719, 8961, 9205, 9448, 9692, 9934, 10178, 10421, 10664, 10907, 11151, 11393, 11637, 11880, 12124, 12366, 12609, 12853, 13095, 13339, 13582, 13826, 14068, 14312, 14555, 14798, 15041, 15285, 15527, 15771, 16014, 16258, 16500, 16743, 16987, 17229, 17473, 17716, 17960, 18202, 18446, 18689, 18932, 19175]]
    CD = 9
    # 攻击倍率 = 1.23

# 破武之轮


class 技能8(职业主动技能):
    名称 = '破武之轮'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    # 基础 = 1071.6
    # 成长 = 160.4
    # 挥剑物理攻击力：<data1>%
    data0 = [(i*1.2378) for i in [0, 411, 491, 546, 599, 653, 701, 759, 809, 861, 914, 969, 1023, 1071, 1130, 1179, 1233, 1284, 1340, 1394, 1442, 1497, 1550, 1604, 1655, 1710, 1761, 1814, 1866, 1922,
                               1974, 2027, 2082, 2132, 2184, 2237, 2292, 2345, 2396, 2447, 2502, 2556, 2609, 2664, 2715, 2766, 2817, 2873, 2927, 2979, 3035, 3083, 3137, 3191, 3245, 3296, 3350, 3403, 3456, 3509, 3562]]
    # 剑气物理攻击力：<data2>%
    data1 = [(i*1.2378) for i in [0, 821, 980, 1091, 1196, 1304, 1401, 1517, 1617, 1722, 1827, 1938, 2045, 2142, 2258, 2358, 2465, 2568, 2679, 2786, 2883, 2994, 3099, 3207, 3309, 3420, 3521, 3627, 3731,
                               3842, 3948, 4053, 4164, 4262, 4368, 4472, 4583, 4689, 4790, 4893, 5003, 5111, 5216, 5327, 5430, 5531, 5634, 5745, 5852, 5957, 6068, 6165, 6272, 6381, 6488, 6591, 6698, 6805, 6911, 7017, 7123]]
    攻击次数2 = 1
    # TP成长 = 0.10
    # TP上限 = 5
    CD = 6

# 守护神鹿


class 技能9(职业主动技能):
    名称 = '守护神鹿'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    data0 = [(i*1.2427) for i in [0, 318, 350, 383, 415, 447, 480, 512, 545, 577, 610, 642, 674, 707, 739, 772, 804, 836, 869, 901, 934, 966, 997, 1031, 1062, 1096, 1127, 1159, 1192, 1224, 1257, 1289, 1322, 1354, 1386, 1419, 1451, 1484, 1516, 1548, 1581, 1613, 1646, 1678, 1710, 1743, 1775, 1808, 1840, 1872, 1905, 1937, 1970, 2002, 2035, 2067, 2098, 2132, 2163, 2196, 2228, 2260, 2293, 2325, 2358, 2390, 2422, 2455, 2487, 2520, 2552]]
    攻击次数 = 6
    # 基础 = 1466.4
    # 成长 = 165.6
    CD = 6
    # 攻击倍率 = 1.226

# 审判之盾


class 技能10(职业主动技能):
    名称 = '审判之盾'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    # 挥舞物理攻击力：<data0>%
    data0 = [(i*1.2444) for i in [0, 321, 353, 386, 419, 451, 484, 517, 549, 582, 614, 647, 680, 712, 745, 777, 810, 843, 875, 908, 941, 973, 1006, 1038, 1071, 1104, 1136, 1169, 1201, 1234, 1267, 1299, 1332, 1365, 1397, 1430, 1462, 1495, 1528, 1560, 1593, 1625, 1658, 1691, 1723, 1756, 1789, 1821, 1854, 1886, 1920, 1953, 1985, 2018, 2051, 2083, 2116, 2149, 2181, 2214, 2246, 2279, 2312, 2344, 2377, 2409, 2442, 2475, 2507, 2540, 2573]]
    # 攻击审判状态的敌人时攻击力：<data1>%
    data1 = [(i*1.2444) for i in [0, 224, 247, 270, 293, 316, 338, 361, 384, 407, 430, 453, 475, 498, 521, 544, 567, 589, 612, 635, 658, 681, 704, 727, 750, 773, 796, 819, 840, 863, 886, 909, 932, 955, 978, 1001, 1024, 1047, 1070, 1092, 1114, 1137, 1160, 1183, 1206, 1229, 1252, 1275, 1298, 1321, 1344, 1366, 1389, 1412, 1435, 1458, 1481, 1503, 1526, 1549, 1572, 1595, 1617, 1640, 1663, 1686, 1709, 1732, 1755, 1778, 1801]]
    攻击次数2 = 10
    # 基础 = 1910
    # 成长 = 216
    CD = 7
    # 攻击倍率 = 1.208

# 破甲冲击


class 技能11(职业主动技能):
    名称 = '破甲冲击'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    # 基础 = 1621.8
    # 成长 = 183.2
    # 冲击波攻击力：<data0>%
    data0 = [(i*1.2429) for i in [0, 2202, 2426, 2649, 2873, 3096, 3319, 3544, 3767, 3990, 4213, 4437, 4661, 4884, 5108, 5331, 5554, 5779, 6002, 6225, 6448, 6672, 6896, 7119, 7343, 7566, 7789, 8014, 8237, 8460, 8683, 8908, 9131, 9354, 9578, 9801, 10025, 10249, 10472, 10695, 10919, 11143, 11366, 11590, 11813, 12036, 12261, 12484, 12707, 12930, 13154, 13378, 13601, 13825, 14048, 14271, 14496, 14719, 14942, 15165, 15389, 15613, 15836, 16060, 16283, 16506, 16731, 16954, 17177, 17400, 17625]]
    CD = 7
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.22

# 精灵之跃 蓄力提高15%伤害，默认一瞬间释放也提高3%，冲击波不受加成，一级刮痧技能就不写那么多了


class 技能12(职业主动技能):
    名称 = '精灵之跃'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    # 基础 = 2675.8
    # 成长 = 302.2
    # 冲撞物理攻击力：<data0>%
    # 蓄气时攻击力增加率：15%
    data0 = [(i*1.2110) for i in [0, 3126, 3445, 3762, 4079, 4396, 4713, 5031, 5348, 5665, 5982, 6300, 6618, 6935, 7252, 7569, 7886, 8204, 8521, 8838, 9156, 9474, 9791, 10108, 10425, 10742, 11060, 11377, 11694, 12012, 12329, 12647, 12964, 13281, 13598, 13915, 14233, 14550, 14868, 15185, 15502, 15820, 16137, 16454, 16771, 17088, 17406, 17724, 18041, 18358, 18675, 18993, 19310, 19627, 19944, 20262, 20580, 20897, 21214, 21531, 21849, 22166, 22483, 22800, 23117, 23436, 23753, 24070, 24387, 24704, 25022]]
    CD = 7.5
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.05

# 神木刺击


class 技能13(职业主动技能):
    名称 = '神木刺击'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    # 基础 = 2420.6
    # 成长 = 273.4
    data0 = [(i*1.2819) for i in [0, 3313, 3650, 3986, 4323, 4659, 4996, 5332, 5667, 6004, 6340, 6677, 7013, 7349, 7686, 8022, 8359, 8694, 9030, 9367, 9703, 10040, 10376, 10712, 11049, 11384, 11721, 12057, 12393, 12730, 13066, 13403, 13739, 14074, 14411, 14747, 15084, 15420, 15757, 16093, 16429, 16766, 17101, 17438, 17774, 18110, 18447, 18783, 19120, 19456, 19791, 20128, 20464, 20801, 21137, 21473, 21810, 22146, 22483, 22818, 23154, 23491, 23827, 24164, 24500, 24836, 25173, 25508, 25845, 26181, 26517]]
    CD = 10
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.23

# 铁壁推进 持盾推进8秒，18hit，但一般学1级用来刮痧，这里就做1hit使用


class 技能14(职业主动技能):
    名称 = '铁壁推进'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 基础 = 367.4
    # 成长 = 41.6
    # 攻击力：<data0>%
    data0 = [(i*1.1437) for i in [0, 409, 451, 493, 534, 575, 617, 659, 701, 742, 783, 825, 867, 908, 950, 991, 1033, 1075, 1116, 1157, 1199, 1241, 1283, 1324, 1365, 1407, 1449, 1490, 1532, 1573, 1615, 1657, 1698, 1739, 1781,
                               1823, 1865, 1906, 1947, 1989, 2031, 2072, 2114, 2155, 2197, 2239, 2280, 2321, 2363, 2405, 2447, 2488, 2529, 2571, 2613, 2654, 2696, 2737, 2779, 2821, 2862, 2903, 2945, 2987, 3029, 3070, 3111, 3154, 3195, 3236, 3278]]
    CD = 20
    TP成长 = 0.10
    TP上限 = 5

# 自然束缚


class 技能15(职业主动技能):
    名称 = '自然束缚'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 基础 = 4000.3
    # 成长 = 451.7
    # 藤条捆绑的物理攻击力：<data0>%
    data0 = [(i*1.2030) for i in [0, 2486, 2738, 2991, 3243, 3495, 3747, 3999, 4252, 4504, 4757, 5009, 5262, 5513, 5765, 6018, 6270, 6523, 6775, 7028, 7280, 7531, 7784, 8036, 8289, 8541, 8794, 9046, 9299, 9550, 9802, 10055, 10307, 10560, 10812, 11065, 11316, 11568, 11821, 12073, 12326, 12578, 12830, 13083, 13334, 13587, 13839, 14092, 14344, 14596, 14849, 15101, 15353, 15605, 15858, 16110, 16362, 16615, 16867, 17120, 17371, 17624, 17876, 18128, 18381, 18633, 18886, 19138, 19390, 19642, 19894]]
    # 藤条拉回物理攻击力：<data1>%
    data1 = [(i*1.2030) for i in [0, 2486, 2738, 2991, 3243, 3495, 3747, 3999, 4252, 4504, 4757, 5009, 5262, 5513, 5765, 6018, 6270, 6523, 6775, 7028, 7280, 7531, 7784, 8036, 8289, 8541, 8794, 9046, 9299, 9550, 9802, 10055, 10307, 10560, 10812, 11065, 11316, 11568, 11821, 12073, 12326, 12578, 12830, 13083, 13334, 13587, 13839, 14092, 14344, 14596, 14849, 15101, 15353, 15605, 15858, 16110, 16362, 16615, 16867, 17120, 17371, 17624, 17876, 18128, 18381, 18633, 18886, 19138, 19390, 19642, 19894]]
    攻击次数2 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.117

# 一刀两断


class 技能16(职业主动技能):
    名称 = '一刀两断'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 基础 = 3502.4
    # 成长 = 395.6
    # 战意攻击力： <data0>%
    data0 = [(i*1.2210) for i in [0, 1718, 1894, 2068, 2243, 2417, 2591, 2766, 2940, 3114, 3289, 3463, 3639, 3813, 3987, 4162, 4336, 4510, 4685, 4859, 5035, 5209, 5383, 5558, 5732, 5907, 6081, 6255, 6430, 6604, 6778, 6954, 7128, 7303, 7477, 7651, 7826, 8000, 8174, 8349, 8523, 8699, 8873, 9047, 9222, 9396, 9570, 9745, 9919, 10095, 10269, 10443, 10618, 10792, 10967, 11141, 11315, 11490, 11664, 11838, 12014, 12188, 12363, 12537, 12711, 12886, 13060, 13234, 13410, 13584, 13759]]
    # 敌人断开时伤害：<data1>%
    data1 = [(i*1.2210) for i in [0, 2927, 3225, 3522, 3819, 4115, 4413, 4710, 5007, 5304, 5601, 5899, 6196, 6492, 6789, 7087, 7384, 7681, 7978, 8276, 8572, 8869, 9166, 9464, 9761, 10058, 10354, 10652, 10949, 11246, 11543, 11841, 12138, 12434, 12731, 13029, 13326, 13623, 13920, 14218, 14514, 14811, 15108, 15405, 15703, 16000, 16297, 16593, 16891, 17188, 17485, 17782, 18080, 18377, 18673, 18970, 19268, 19565, 19862, 20159, 20457, 20753, 21050, 21347, 21645, 21942, 22239, 22535, 22833, 23130, 23427]]
    攻击次数2 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.192
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.data0 = [(i*3.42) for i in self.data0]
            self.攻击次数2 = 0
            # self.倍率 *= 1.2653516366
        elif x == 1:
            # self.倍率 *= 1.3467485255
            self.data0 = [(i*3.64) for i in self.data0]
            self.攻击次数2 = 0

# 飓风旋枪 刺击2HIT，旋风10hit


class 技能17(职业主动技能):
    名称 = '飓风旋枪'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    # 基础 = 7114.3
    # 成长 = 803.7
    # 刺击攻击力：<data0>%
    data0 = [(i*1.2129) for i in [0, 2854, 3143, 3432, 3722, 4011, 4301, 4590, 4880, 5170, 5460, 5749, 6038, 6328, 6617, 6907, 7196, 7487, 7776, 8065, 8355, 8644, 8934, 9223, 9513, 9803, 10092, 10382, 10671, 10961, 11250, 11540, 11829, 12118, 12409, 12698, 12988, 13277, 13567, 13856, 14145, 14436, 14725, 15015, 15304, 15594, 15883, 16172, 16462, 16751, 17042, 17331, 17621, 17910, 18200, 18489, 18778, 19069, 19358, 19648, 19937, 20227, 20516, 20805, 21095, 21385, 21675, 21964, 22254, 22543, 22832]]
    攻击次数 = 2
    # 旋转攻击力：<data1>%
    data1 = [(i*1.2129) for i in [0, 306, 338, 368, 400, 431, 462, 493, 525, 555, 587, 618, 649, 681, 712, 743, 774, 806, 836, 868, 898, 930, 961, 992, 1023, 1055, 1086, 1117, 1149, 1179, 1211, 1241, 1273, 1304, 1335, 1366, 1398, 1428, 1460, 1492, 1522, 1554, 1585, 1616, 1647, 1679, 1709, 1741, 1771, 1803, 1835, 1865, 1897, 1928, 1959, 1990, 2022, 2052, 2084, 2115, 2146, 2177, 2209, 2240, 2271, 2303, 2333, 2365, 2395, 2427, 2458]]
    攻击次数2 = 10
    CD = 25
    演出时间 = 2
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.175
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            # 护石是加算还是乘算待定
            self.data1 = [(i*1.49) for i in self.data1]
            # self.倍率 *= 1.1714
            self.CD *= 0.90
        elif x == 1:
            self.data1 = [(i*1.74) for i in self.data1]
            # self.倍率 *= 1.258886811
            self.CD *= 0.90

# 天陨断空斩


class 技能18(职业主动技能):
    名称 = '天陨断空斩'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    # 基础 = 10129.2
    # 成长 = 1143.8
    # 旋转劈砍物理攻击力：<data0>%
    data0 = [(i*1.2139) for i in [0, 1708, 1882, 2056, 2229, 2403, 2576, 2749, 2923, 3097, 3269, 3443, 3617, 3791, 3964, 4137, 4311, 4484, 4658, 4832, 5004, 5178, 5352, 5525, 5698, 5872, 6046, 6219, 6393, 6566, 6739, 6913, 7087, 7259, 7433, 7607, 7780, 7954, 8127, 8300, 8474, 8648, 8822, 8994, 9168, 9342, 9515, 9688, 9862, 10035, 10209, 10383, 10555, 10729, 10903, 11077, 11249, 11423, 11597, 11770, 11944, 12117, 12290, 12464, 12638, 12810, 12984, 13158, 13331, 13505, 13678]]
    # 上劈物理攻击力：<data1>%
    data1 = [(i*1.2139) for i in [0, 1314, 1447, 1581, 1715, 1848, 1981, 2115, 2248, 2382, 2515, 2648, 2782, 2916, 3049, 3182, 3316, 3449, 3583, 3716, 3849, 3983, 4116, 4250, 4383, 4517, 4650, 4784, 4917, 5050, 5184, 5317, 5451, 5584, 5718, 5851, 5984, 6118, 6252, 6385, 6518, 6652, 6785, 6919, 7052, 7185, 7319, 7453, 7586, 7719, 7852, 7986, 8120, 8253, 8386, 8520, 8654, 8787, 8920, 9053, 9187, 9321, 9454, 9587, 9720, 9855, 9988, 10121, 10254, 10388, 10522]]
    攻击次数2 = 1
    # 闪光下劈的物理攻击力：<data2>%
    data2 = [(i*1.2139) for i in [0, 1972, 2172, 2372, 2573, 2773, 2972, 3173, 3373, 3573, 3774, 3973, 4173, 4374, 4574, 4774, 4975, 5174, 5374, 5575, 5775, 5975, 6176, 6375, 6575, 6776, 6976, 7176, 7377, 7576, 7776, 7977, 8177, 8377, 8577, 8777, 8977, 9178, 9378, 9577, 9778, 9978, 10178, 10379, 10579, 10778, 10979, 11179, 11379, 11580, 11780, 11979, 12180, 12380, 12580, 12781, 12981, 13180, 13381, 13581, 13781, 13982, 14181, 14381, 14582, 14782, 14982, 15183, 15382, 15582, 15783]]
    攻击次数3 = 1
    # 闪光下劈的冲击波物理攻击力：<data3>%
    data3 = [(i*1.2139) for i in [0, 8153, 8981, 9808, 10635, 11463, 12290, 13117, 13945, 14772, 15599, 16427, 17254, 18081, 18909, 19736, 20563, 21391, 22218, 23046, 23873, 24700, 25528, 26355, 27182, 28010, 28837, 29664, 30492, 31319, 32146, 32974, 33801, 34628, 35456, 36283, 37110, 37938, 38765, 39592, 40420, 41247, 42074, 42902, 43729, 44556, 45384, 46211, 47038, 47865, 48692, 49519, 50347, 51174, 52001, 52829, 53656, 54483, 55311, 56138, 56965, 57793, 58620, 59447, 60275, 61102, 61929, 62757, 63584, 64411, 65239]]
    攻击次数4 = 1
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.233
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 = 0
            self.data1 = [(i*2.3) for i in self.data1]
            self.data2 = [(i*1.79) for i in self.data2]
            self.data3 = [(i*1.14) for i in self.data3]
            # self.倍率 *= 1.2053
        elif x == 1:
            self.攻击次数 = 0
            self.data1 = [(i*2.3) for i in self.data1]
            self.data2 = [(i*1.79) for i in self.data2]
            self.data3 = [(i*1.27) for i in self.data3]
            # self.倍率 *= 1.2859

# 一觉 1+4+1 hit


class 技能19(职业主动技能):
    名称 = '天马流星落'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    # 一斩物理攻击力：<data0>%
    data0 = [(i*1.2440) for i in [0, 3646, 4491, 5337, 6183, 7029, 7874, 8720, 9565, 10411, 11258, 12103, 12949, 13794, 14640, 15485, 16331, 17177, 18023, 18868, 19714, 20559, 21405, 22252, 23097, 23943, 24788, 25634, 26479, 27325, 28171, 29017, 29862, 30708, 31553, 32399, 33246, 34091, 34937, 35782, 36628, 37473, 38319, 39165, 40011, 40856, 41702, 42547, 43393, 44240, 45085, 45931, 46776, 47622, 48467, 49313, 50159, 51005, 51850, 52696, 53541, 54387, 55233, 56079, 56924, 57770, 58616, 59461, 60307, 61153, 61999]]
    # 二斩多段攻击物理攻击力：<data1>%
    data1 = [(i*1.2440) for i in [0, 2150, 2650, 3149, 3647, 4147, 4645, 5145, 5643, 6143, 6641, 7141, 7639, 8139, 8637, 9136, 9635, 10134, 10633, 11132, 11631, 12130, 12629, 13128, 13626, 14126, 14624, 15124, 15622, 16122, 16620, 17120, 17618, 18118, 18616, 19115, 19614, 20113, 20612, 21111, 21610, 22109, 22608, 23107, 23606, 24105, 24603, 25103, 25601, 26101, 26599, 27099, 27597, 28097, 28595, 29094, 29593, 30092, 30591, 31090, 31589, 32088, 32587, 33086, 33585, 34084, 34582, 35082, 35580, 36080, 36578]]
    攻击次数2 = 4
    # 天马冲锋物理攻击力：<data2>%
    data2 = [(i*1.2440) for i in [0, 36372, 44806, 53241, 61674, 70109, 78544, 86978, 95412, 103846, 112281, 120716, 129149, 137584, 146018, 154453, 162888, 171321, 179756, 188190, 196625, 205058, 213493, 221927, 230362, 238796, 247230, 255665, 264099, 272533, 280967, 289402, 297837, 306270, 314705, 323139, 331574, 340007, 348442, 356877, 365311, 373745, 382179, 390614, 399049, 407483, 415917, 424351, 432786, 441220, 449654, 458089, 466523, 474958, 483391, 491826, 500260, 508695, 517128, 525563, 533998, 542432, 550866, 559300, 567735, 576170, 584603, 593038, 601472, 609907, 618340]]
    攻击次数3 = 1
    CD = 145
    # 攻击倍率 = 1.201

# 生命审判


class 技能20(职业主动技能):
    名称 = '生命审判'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    # 基础 = 9299.1
    # 成长 = 1049.9
    # 爆炸物理攻击力：<data0>%
    data0 = [(i*1.2430) for i in [0, 12146, 13379, 14611, 15843, 17075, 18308, 19540, 20772, 22004, 23238, 24470, 25702, 26934, 28166, 29399, 30631, 31863, 33095, 34329, 35561, 36793, 38025, 39258, 40490, 41722, 42954, 44186, 45420, 46652, 47884, 49116, 50349, 51581, 52813, 54045, 55279, 56511, 57743, 58975, 60207, 61440, 62672, 63904, 65136, 66369, 67602, 68834, 70066, 71299, 72531, 73763, 74995, 76228, 77460, 78692, 79925, 81157, 82390, 83622, 84854, 86086, 87319, 88551, 89783, 91015, 92249, 93481, 94713, 95945, 97177]]
    CD = 30
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.237
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.08
        elif x == 1:
            self.倍率 *= 1.08 + 0.09

# 壁垒突袭


class 技能21(职业主动技能):
    名称 = '壁垒突袭'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    # 基础 = 16225.2
    # 成长 = 1831.8
    # 盾牌击打攻击力：<data0>%
    data0 = [(i*1.2430) for i in [0, 7184, 7912, 8641, 9370, 10099, 10828, 11557, 12286, 13015, 13743, 14472, 15201, 15930, 16659, 17388, 18117, 18844, 19573, 20302, 21031, 21760, 22489, 23218, 23947, 24675, 25404, 26133, 26862, 27591, 28320, 29049, 29778, 30506, 31235, 31964, 32693, 33422, 34151, 34880, 35609, 36337, 37066, 37795, 38524, 39253, 39982, 40711, 41440, 42168, 42897, 43626, 44355, 45084, 45813, 46542, 47271, 47999, 48728, 49457, 50186, 50915, 51644, 52373, 53101, 53830, 54559, 55288, 56017, 56746, 57475]]
    # 盾牌破碎时攻击力：<data1>%
    data1 = [(i*1.2430) for i in [0, 13341, 14695, 16048, 17402, 18756, 20109, 21463, 22816, 24170, 25523, 26877, 28231, 29585, 30938, 32292, 33646, 34999, 36353, 37706, 39060, 40413, 41767, 43120, 44474, 45827, 47181, 48534, 49888, 51241, 52595, 53948, 55302, 56657, 58010, 59364, 60717, 62071, 63424, 64778, 66131, 67485, 68838, 70192, 71545, 72899, 74253, 75606, 76960, 78313, 79667, 81020, 82374, 83728, 85082, 86435, 87789, 89143, 90496, 91850, 93203, 94557, 95910, 97264, 98617, 99971, 101324, 102678, 104031, 105385, 106738]]
    攻击次数2 = 1
    CD = 50
    TP成长 = 0.10
    TP上限 = 5
    # 攻击倍率 = 1.201
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.data2 = [(i*0.34) for i in self.data1]
            self.攻击次数3 = 1
            # self.倍率 *= 1.221
        elif x == 1:
            self.data2 = [(i*0.47) for i in self.data1]
            self.攻击次数3 = 1
            # self.倍率 *= 1.3055

# 剑盾强袭


class 技能22(职业主动技能):
    名称 = '剑盾强袭'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    # 基础 = 22287.6
    # 成长 = 2516.4
    # [剑盾猛攻]连锁伤害额外增加量：+5%
    data0 = [(i*1.2440) for i in [0, 29988, 33031, 36072, 39115, 42157, 45199, 48242, 51284, 54327, 57369, 60412, 63454, 66496, 69539, 72581, 75624, 78666, 81709, 84750, 87792, 90835, 93877, 96920, 99962, 103004, 106047, 109089, 112132, 115174, 118217, 121259, 124300, 127343, 130385, 133428, 136470, 139513, 142555, 145597, 148640]]
    CD = 40
    # 攻击倍率 = 1.209
    是否有护石 = 1

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.35

# 自然之怒  1+6+1 hit


class 技能23(职业主动技能):
    名称 = '自然之怒'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    # 基础 = 26353
    # 成长 = 2976
    # 盾牌攻击物理攻击力：<data0>%
    data0 = [(i*1.2429) for i in [0, 5761, 6345, 6930, 7515, 8099, 8684, 9269, 9853, 10438, 11023, 11607, 12192, 12777, 13361, 13945, 14529, 15114, 15699, 16283, 16868, 17453, 18037, 18622, 19207, 19791, 20376, 20961, 21545, 22129, 22713, 23298, 23883, 24467, 25052, 25637, 26221, 26806, 27391, 27975, 28560, 29145, 29729, 30314, 30897, 31482, 32067, 32651, 33236, 33821, 34405, 34990, 35575, 36159, 36744, 37329, 37913, 38498, 39081, 39666, 40251, 40835, 41420, 42005, 42589, 43174, 43759, 44343, 44928, 45513, 46097]]
    # 藤蔓多段攻击物理攻击力：<data1>%
    data1 = [(i*1.2429) for i in [0, 2152, 2369, 2588, 2806, 3025, 3243, 3462, 3681, 3898, 4117, 4335, 4554, 4772, 4991, 5208, 5427, 5645, 5864, 6082, 6301, 6519, 6738, 6955, 7174, 7392, 7611, 7830, 8048, 8267, 8484, 8703, 8921, 9140, 9358, 9577, 9794, 10013, 10231, 10450, 10668, 10887, 11104, 11323, 11541, 11760, 11979, 12197, 12416, 12633, 12852, 13070, 13289, 13507, 13726, 13943, 14162, 14380, 14599, 14817, 15036, 15254, 15472, 15690, 15909, 16128, 16346, 16565, 16783, 17001, 17219]]
    攻击次数2 = 6
    # 藤蔓爆炸物理攻击力：<data2>%
    data2 = [(i*1.2429) for i in [0, 14372, 15830, 17288, 18746, 20204, 21662, 23120, 24578, 26036, 27494, 28952, 30410, 31868, 33326, 34784, 36242, 37700, 39158, 40616, 42074, 43532, 44990, 46450, 47908, 49366, 50824, 52282, 53740, 55198, 56656, 58114, 59572, 61030, 62488, 63946, 65404, 66862, 68320, 69778, 71236, 72694, 74152, 75610, 77068, 78527, 79985, 81443, 82901, 84359, 85817, 87276, 88734, 90192, 91650, 93108, 94566, 96024, 97482, 98940, 100398, 101856, 103314, 104772, 106230, 107688, 109146, 110605, 112063, 113521, 114979]]
    攻击次数3 = 1
    CD = 45
    # 攻击倍率 = 1.203
    是否有护石 = 1

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.data0 = [(i*2.98) for i in self.data0]
            # self.倍率 *= 1.3452212

# 二觉    3+1+5 hit


class 技能24(职业主动技能):
    名称 = '暮光之灵黄昏独角兽'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    # 基础 = 76675
    # 成长 = 23148.2
    # 突击物理攻击力：<data0>%
    data0 = [(i*1.2120) for i in [0, 7372, 9082, 10792, 12502, 14211, 15921, 17630, 19340, 21050, 22759, 24469, 26179, 27889, 29599, 31309, 33017, 34727, 36437, 38147, 39857, 41567, 43277, 44986, 46696, 48406, 50115, 51825, 53534, 55244, 56954, 58664, 60374, 62084, 63794, 65502, 67212, 68922, 70632, 72342, 74052, 75761, 77471, 79181, 80890, 82600, 84309, 86019, 87729, 89439, 91149, 92859, 94569, 96277, 97987, 99697, 101407, 103117, 104827, 106536, 108246, 109956, 111665, 113375, 115084, 116794, 118504, 120214, 121924, 123634, 125344]]
    攻击次数 = 3
    # 最后一击物理攻击力：<data1>%
    data1 = [(i*1.2120) for i in [0, 88478, 108993, 129511, 150028, 170543, 191061, 211578, 232095, 252611, 273128, 293645, 314161, 334678, 355195, 375711, 396228, 416745, 437262, 457778, 478295, 498812, 519328, 539845, 560362, 580879, 601395, 621912, 642429, 662945, 683462, 703979, 724495, 745012, 765529, 786046, 806562, 827079, 847596, 868112, 888629, 909146, 929662, 950179, 970696, 991213, 1011729, 1032246, 1052763, 1073279, 1093796, 1114313, 1134829, 1155346, 1175863, 1196380, 1216896, 1237413, 1257930, 1278446, 1298963, 1319480, 1339996, 1360513, 1381030, 1401547, 1422063, 1442580, 1463097, 1483613, 1504130]]
    攻击次数2 = 1
    # 星光多段攻击物理攻击力：<data2>%
    data2 = [(i*1.2120) for i in [0, 2457, 3027, 3596, 4166, 4736, 5306, 5876, 6446, 7016, 7586, 8156, 8726, 9296, 9866, 10436, 11005, 11575, 12145, 12714, 13284, 13854, 14424, 14994, 15564, 16134, 16704, 17274, 17844, 18414, 18984, 19554, 20124, 20694, 21264, 21834, 22404, 22974, 23544, 24114, 24684, 25253, 25823, 26393, 26962, 27532, 28102, 28672, 29242, 29812, 30382, 30952, 31522, 32092, 32662, 33232, 33802, 34371, 34941, 35511, 36081, 36651, 37221, 37791, 38361, 38931, 39501, 40071, 40641, 41211, 41781]]
    攻击次数3 = 5
    # 攻击倍率 = 1.231
    CD = 180


class 技能25(被动技能):
    名称 = '生命的恩宠'
    所在等级 = 95
    等级上限 = 40
    等级精通 = 30
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能26(职业主动技能):
    名称 = '荆棘之城'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6
    CD = 60.0
    data0 = [int(i*1.2340) for i in [0, 5910, 6510, 7110, 7709, 8309, 8908, 9508, 10108, 10707, 11307, 11907, 12506, 13106, 13706, 14305, 14905, 15504, 16104, 16704, 17303, 17903, 18503, 19102, 19702, 20302, 20901, 21501, 22101, 22700, 23300, 23899, 24499, 25099, 25698, 26298, 26898, 27497, 28097, 28697, 29296, 29896, 30495, 31095, 31695, 32294, 32894, 33494, 34093, 34693, 35293, 35892, 36492, 37092, 37691, 38291, 38890, 39490, 40090, 40689, 41289, 41889, 42488, 43088, 43688, 44287, 44887, 45486, 46086, 46686, 47285]]
    攻击次数 = 1
    data1 = [int(i*1.2340) for i in [0, 53196, 58593, 63990, 69386, 74783, 80180, 85577, 90973, 96370, 101767, 107164, 112561, 117957, 123354, 128751, 134148, 139544, 144941, 150338, 155735, 161131, 166528, 171925, 177322, 182718, 188115, 193512, 198909, 204305, 209702, 215099, 220496, 225893, 231289, 236686, 242083, 247480, 252876, 258273, 263670, 269067, 274463, 279860, 285257, 290654, 296050, 301447, 306844, 312241, 317637, 323034, 328431, 333828, 339225, 344621, 350018, 355415, 360812, 366208, 371605, 377002, 382399, 387795, 393192, 398589, 403986, 409382, 414779, 420176, 425573]]
    攻击次数2 = 1

class 技能27(职业主动技能):
    名称 = '生命之律·神木擎天'
    所在等级 = 100
    等级上限 = 40
    等级精通 = 30
    基础等级 = 2
    关联技能 = ['无']
    CD = 290.0
    data0 = [int(i*1.2550) for i in [0, 31260, 38509, 45758, 53006, 60255, 67504, 74753, 82002, 89250, 96499, 103749, 110998, 118246, 125495, 132744, 139993, 147242, 154490, 161739, 168988, 176237, 183486, 190734, 197983, 205232, 212481, 219730, 226979, 234228, 241477, 248726, 255974, 263223, 270472, 277721, 284970, 292218, 299467, 306716, 313965, 321214, 328463, 335712, 342961, 350210, 357458, 364707, 371956, 379205, 386454, 393703, 400951, 408200, 415449, 422698, 429947, 437195, 444444, 451694, 458943, 466191, 473440, 480689, 487938, 495187, 502435, 509684, 516933, 524182, 531431]]
    攻击次数 = 1
    data1 =[int(i*1.2550) for i in [0, 250085, 308075, 366067, 424057, 482048, 540039, 598030, 656020, 714012, 772002, 829993, 887984, 945975, 1003965, 1061957, 1119947, 1177938, 1235929, 1293920, 1351910, 1409902, 1467892, 1525883, 1583874, 1641865, 1699855, 1757847, 1815837, 1873828, 1931819, 1989810, 2047800, 2105791, 2163782, 2221773, 2279764, 2337755, 2395745, 2453736, 2511727, 2569718, 2627709, 2685700, 2743690, 2801681, 2859672, 2917663, 2975654, 3033645, 3091635, 3149626, 3207617, 3265608, 3323599, 3381590, 3439580, 3497571, 3555562, 3613553, 3671544, 3729535, 3787525, 3845516, 3903507, 3961498, 4019489, 4077480, 4135470, 4193461, 4251452]]
    攻击次数2 = 1
    data2 = [int(i*1.2550) for i in [0, 5209, 6417, 7625, 8834, 10042, 11250, 12458, 13666, 14874, 16083, 17291, 18499, 19707, 20915, 22123, 23331, 24540, 25748, 26956, 28164, 29372, 30580, 31789, 32996, 34205, 35413, 36621, 37829, 39037, 40245, 41454, 42662, 43870, 45078, 46286, 47494, 48702, 49911, 51118, 52327, 53535, 54743, 55951, 57159, 58368, 59576, 60784, 61992, 63200, 64408, 65617, 66824, 68033, 69241, 70449, 71657, 72865, 74073, 75282, 76490, 77698, 78906, 80114, 81322, 82530, 83739, 84946, 86155, 87363, 88571]]
    攻击次数3 = 6

    def 加成倍率(self, 武器类型):
        return 0.0


技能列表 = []
i = 0
while i >= 0:
    try:
        exec('技能列表.append(技能' + str(i) + '())')
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

一觉序号 = 0
二觉序号 = 0
三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        三觉序号 = 技能序号[i.名称]

护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        护石选项.append(i.名称)

符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        符文选项.append(i.名称)


class 职业属性(角色属性):
    实际名称 = '皓曦·精灵骑士'
    角色 = '守护者'
    职业 = '精灵骑士'

    武器选项 = ['太刀', '钝器', '巨剑', '短剑']

    类型选择 = ['物理百分比']

    类型 = '物理百分比'
    防具类型 = '板甲'
    防具精通属性 = ['力量']

    主BUFF = 2.03

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    # def 被动倍率计算(self):
    #     super().被动倍率计算()
    #     # self.技能栏[self.技能序号['天马流星落']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型)
    #     # self.技能栏[self.技能序号['暮光之灵黄昏独角兽']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型)
    #     # self.技能栏[self.技能序号['天马流星落']].被动倍率 *= self.技能栏[self.技能序号['自然恩泽']].加成倍率(self.武器类型)
    #     # self.技能栏[self.技能序号['暮光之灵黄昏独角兽']].被动倍率 *= self.技能栏[self.技能序号['自然恩泽']].加成倍率(self.武器类型)
    #     # self.技能栏[self.技能序号['生命之律·神木擎天']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型)
    #     # self.技能栏[self.技能序号['生命之律·神木擎天']].被动倍率 *= self.技能栏[self.技能序号['自然恩泽']].加成倍率(self.武器类型)
    #     self.技能栏[self.技能序号['剑盾强袭']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型)
    #     self.技能栏[self.技能序号['剑盾强袭']].被动倍率 *= 0.30 + self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型)
    #     self.技能栏[self.技能序号['剑盾猛攻']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型)


class 皓曦·精灵骑士(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 职业属性()
        self.角色属性A = 职业属性()
        self.角色属性B = 职业属性()
        self.一觉序号 = 一觉序号
        self.二觉序号 = 二觉序号
        self.三觉序号 = 三觉序号
        self.护石选项 = deepcopy(护石选项)
        self.符文选项 = deepcopy(符文选项)

    def 护石判断(self):
        sign = 0
        for x in range(3):
            if self.护石栏[x].currentText() == '一刀两断':
                sign = 1
        if sign == 1:
            self.先锋斩倍率.setEnabled(True)
            self.先锋斩倍率.setStyleSheet(下拉框样式)
        else:
            self.先锋斩倍率.setEnabled(False)
            self.先锋斩倍率.setStyleSheet(下拉框样式)

    def 界面(self):
        super().界面()
        for i in range(3):
            self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断())

        self.先锋斩倍率 = MyQComboBox(self.main_frame2)
        for i in range(51):
            self.先锋斩倍率.addItem('先锋斩：'+str(i * 2)+'%')
        self.先锋斩倍率.setCurrentIndex(0)
        self.先锋斩倍率.resize(105, 20)
        self.先锋斩倍率.move(310, 420)
        self.先锋斩倍率.setToolTip('请按实际情况选择')

        self.职业存档.append(('先锋斩倍率', self.先锋斩倍率, 1))

    def 输入属性(self, 属性, x=0):
        super().输入属性(属性, x)
        if self.先锋斩倍率.isEnabled():
            属性.技能栏[属性.技能序号['一刀两断']].倍率 *= self.先锋斩倍率.currentIndex() / 50 + 1
